package com.yyc.utils;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.commons.lang3.StringUtils;

import com.yyc.core.Result;
import com.yyc.core.ResultGenerator;

public class CommonUtils {
	// 判断是邮箱还是手机号的正则表达式
	public static String email = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
	public static String tel = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))\\d{8}$";// "[1]"代表第1位为数字1，"[358]"代表第二位可以为3、5、8中的一个，"\\d{9}"代表后面是可以是0～9的数字，有9位。

	// 判断用户邮箱，手机号是否符合格式
	public static Result checkEmailAndTelFormat(String Email, String Tel) {

		if (StringUtils.isNotEmpty(Email)) {
			if (!Email.matches(email)) {
				String str = "请输入正确的邮箱格式";
				return ResultGenerator.genFailResult(str);
			}
		}
		if (StringUtils.isNotEmpty(Tel)) {
			if (!Tel.matches(tel)) {
				String str = "请输入正确的手机号格式";
				return ResultGenerator.genFailResult(str);
			}
		}
		return null;
	}

	/**
	 * 获取当前的日期yyyyMMdd
	 * 
	 * @return 获取当前的日期yyyyMMdd
	 */
	public static String getCurrentDate() {
		return new SimpleDateFormat("yyyyMMdd").format(new Date());
	}

	/**
	 * 获取当前的时间yyyyMMddHHmmss
	 * 
	 * @return 获取当前的日期yyyyMMdd
	 */
	public static String getCurrentTime() {
		return new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
	}

	/**
	 * 获取map的key所对应的值
	 *
	 * @param map map
	 * @param key key
	 * @return map的key所对应的值
	 */
	public static String getMapValue(Map<String, Object> map, String key) {
		if (map.containsKey(key)) {
			return map.get(key) == null ? "" : map.get(key).toString();
		} else {
			return "";
		}
	}
}
